模式分解

分解的无损链接性
输入:关系模式 R(U,F),分解为 k 项,全集共 n 个元素
1.构造一个 k 行 n 列的表格
2.填入每一行每一列,如果此行的分解内容包括此列的元素,填入 aj,否则填入 bij
3.逐一检查 f 中的函数依赖,对于 X->Y,找到表中 X 列(或者多列)相同但是 Y 不同的所有单元格,将 Y 列的这些单元格更改,如果存在 aj,标记为 aj,否则标记为最小的 bij
4.如果存在任意一行全是 a,则为无损分解,否则不是无损分解

分解是否保持函数依赖
输入:关系模式 R(U,F),分解
1.列出 f 在所有分解中的投影(投影要通过推导,找到所有关系,不是简单筛选),求他们的并 G。
2.求 f 与 G 的差
3.检验这些差,对于 x->y,判断 x 在 G 上的闭包是否含有 y,都含有 y 则保持函数依赖。